#pragma once
#include<stdio.h>
#include<stdbool.h>
#include<assert.h>
#include<stdlib.h>

typedef int QDateType;

typedef struct QueueNode {
	struct QueueNode* next;
	QDateType data;
}Q;

typedef struct Queue {
	Q* head;
	Q* tail;
}Queue;

void Queue_Init(Queue* p); 
void Queue_Destory(Queue* p); 
void Queue_Push(Queue* p, QDateType x); 
void Queue_Pop(Queue* p);

QDateType Queue_Front(Queue* p); 
QDateType Queue_Back(Queue* p);
int Queue_Size(Queue* p);
bool Queue_Empty(Queue* p);